// common/auth.js

// 不需要登录的页面白名单
const whiteList = [
	'/pages/login/login',
	//'/pages/index/index' // 首页通常允许未登录访问
]

// 检查登录状态
function checkLogin() {
	return uni.getStorageSync('isLogin') || false
}

// 登录拦截器
function authInterceptor() {
	const pages = getCurrentPages()
	const currentPage = pages[pages.length - 1]
	const path = '/' + currentPage.route

	// 如果在白名单中，直接放行
	if (whiteList.includes(path)) {
		return true
	}

	// 检查登录状态
	if (!checkLogin()) {
		// 显示弹窗询问是否登录
		uni.showModal({
			title: '提示',
			content: '您还未登录，是否前往登录？',
			confirmText: '去登录',
			cancelText: '再逛逛',
			success: (res) => {
				if (res.confirm) {
					// 跳转到登录页面
					uni.navigateTo({
						url: '/pages/login/login'
					})
				} else {
					// 返回首页
					uni.switchTab({
						url: '/pages/index/index'
					})
				}
			}
		})
		return false
	}
	return true
}

export default {
	checkLogin,
	authInterceptor
}